package com.ansion.utils.permission;


import androidx.annotation.NonNull;

import io.reactivex.Observable;


public interface RxPermission {

//  /** Requests a single permission. */
//  @NonNull
//  Single<Permission> requestPrime(String request, String guide, @NonNull String permission);
//
//  /** Requests multiple permissions. */
//  @NonNull Observable<Permission> requestPrimeEach(String request, String guide, @NonNull String... permissions);
//
//  /** Requests a single permission. */
//  @NonNull Single<Permission> request(String request, String guide, @NonNull String permission);

  /** Requests multiple permissions. */
  @NonNull
  Observable<Permission> requestEach(String request, String guide, @NonNull String... permissions);

  /** Requests multiple permissions. */
  @NonNull
  Observable<Permission> requestEach(String request, String guide, boolean forceDialog, @NonNull String... permissions);

  /** Returns true when the given permission is granted. */
  boolean isGranted(@NonNull String permission);

  /** Returns true when the given permission is revoked by a policy. */
  boolean isRevokedByPolicy(@NonNull String permission);
}
